Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
La casilla de verificación no se activa en Chrome [Versión 101.0.4951.41 (compilación oficial) (64 bits)]

Editar: parece que mis casillas de verificación no funcionan en absoluto. Cuando se agregó una casilla de verificación regular a mi HTML, tampoco respondió a los eventos de clic.

Actualmente estoy trabajando en un menú dat.gui para mi proyecto THREE.JS.

Aquí está mi proyecto: https://codesandbox.io/s/ray-test-km2wru?file=/src/World.js:5581-5741

Verá que al hacer clic en la casilla de verificación debería cambiar la ecuación del plano como se ve en las líneas 144. Me doy cuenta de que la casilla de verificación, cuando se hace clic, no se desmarca en cromo. Sin embargo, cuando se prueba en Firefox, la casilla de verificación se desactivará y cambiará el valor de planeSpecs.waveXY a falso.

 _createPlane() { // Dat.GUI controllers let planeSpecs = { scaler: 1, speed: 1, waveXY: true }; let planeMat = new THREE.MeshStandardMaterial({ color: 0x6d6e6d, side: THREE.DoubleSide, wireframe: true }); // Creates a single plane with wireframe let planeGeo = new THREE.PlaneGeometry(25, 25, 200, 200); var plane = new THREE.Mesh(planeGeo, planeMat); const planeFolder = this._GUI.addFolder("Plane"); // These scales work planeFolder.add(planeSpecs, "scaler", 1, 10); planeFolder.add(planeSpecs, "speed", 0.1, 25); // This checkbox code doesn't work: const waveXYController = this._GUI .add(planeSpecs, "waveXY") .listen() .onChange((newValue) => { console.log(newValue); }); planeFolder.open(); plane.position.y -= 3; plane.rotation.set(Math.PI / 2, 0, 0); // Animation for the plane plane.tick = (delta, elapsedTime) => { const { position } = planeGeo.attributes; for (let i = 0; i < position.count; i++) { let x = position.getX(i); let y = position.getY(i); let z = position.getZ(i); // Change the equation based on checkbox boolean z = planeSpecs.waveXY ? Math.sin( Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) + elapsedTime * planeSpecs.speed ) * planeSpecs.scaler : Math.sin(x + elapsedTime * planeSpecs.speed) * planeSpecs.scaler; position.setXYZ(i, x, y, z); } position.needsUpdate = true; }; return plane; }

Por lo que he investigado, la forma en que agregué el dat.gui parece ser correcta: https://www.nowherenearithaca.com/2015/07/datgui-easy-way-to-allow-users-to.html

Hice una publicación en los foros de Three.JS, pero después de darme cuenta de que se trata de un problema del navegador, hice una publicación aquí: https://discourse.threejs.org/t/dat-gui-checkbox-not-working -en cromo/37642/2

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El problema era que el complemento de la biblioteca THREE.JS, Orbit Controls, agregaba detectores de eventos al elemento del cuerpo, lo que provocaba que dat.gui no pudiera recibir entradas del mouse.

Para evitar esto, el segundo parámetro de OrbitControls debería ser un elemento dom.
p.ej. new OrbitControls(camera, renderer.domElement);
Sin embargo, en las últimas versiones de three.js se aplica este segundo parámetro.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda